<?php
// déclaration des variables globales pour pouvoir les utiliser aussi dans les fonctions
global $doc;		// le document XML à générer
global $nom, $mdp, $numReserv, $jdd;

// inclusion des paramètres et de la bibliothèque de fonctions ("include_once" peut être remplacé par "require_once")
include_once ('_inc_parametres.php');
include_once ('_inc_fonctions_boite_a_outils.php');

// crée une instance de DOMdocument
$doc = new DOMDocument();

// specifie la version et le type d'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';

// crée un commentaire et l'encode en ISO
$elt_commentaire = $doc->createComment('Service web ConfirmerReservation - BTS SIO - Lycee De La Salle - Rennes');
// place ce commentaire à la racine du document XML
$doc->appendChild($elt_commentaire);

// Récupération des données transmises
// la fonction $_GET récupère une donnée passée en paramètre dans l'URL par la méthode GET
if ( empty ($_GET ["nom"]) == true)  $nom = "";  else   $nom = $_GET ["nom"];
if ( empty ($_GET ["mdp"]) == true)  $mdp = "";  else   $mdp = $_GET ["mdp"];
if ( empty ($_GET ["numReserv"]) == true)  $numReserv = "";  else   $numReserv = $_GET ["numReserv"];
// si l'URL ne contient pas les données, on regarde si elles ont été envoyées par la méthode POST
// la fonction $_POST récupère une donnée envoyées par la méthode POST
if ( $nom == "" && $mdp == "" && $numReserv == "" )
{	if ( empty ($_POST ["nom"]) == true)  $nom = "";  else   $nom = $_POST ["nom"];
if ( empty ($_POST ["mdp"]) == true)  $mdp = "";  else   $mdp = $_POST ["mdp"];
if ( empty ($_POST ["numReserv"]) == true)  $numReserv = "";  else   $numReserv = $_POST ["numReserv"];
}

if ($nom == "" || $mdp == "" || $numReserv == "") {
	TraitementAnormal("Erreur : données incomplètes ou incorrectes");
}
else{
	include_once ('_inc_connexion.php');
	include_once ('_inc_fonctions_bdd_reservations.php');
	include_once ('_inc_parametres.php');
	
	if (estIdentifie($nom, $mdp) == "inconnu"){
		TraitementAnormal("Erreur : authentification incorrecte");
	}
		elseif (!existeReservation($numReserv)){
			TraitementAnormal("Erreur : numéro de réservation inexistant");
		}
			elseif (!estLeCreateur($nom, $numReserv)){
				TraitementAnormal("Erreur : vous n'êtes pas l'auteur de cette réservation");
			}
				elseif (dateDebutReservation($numReserv) < time()){
					TraitementAnormal("Erreur : cette réservation est déjà passée");
				}
	else {
		TraitementNormal();
	}
}

// Mise en forme finale
$doc->formatOutput = true;
// renvoie le contenu XML
echo $doc->saveXML();
// fin du programme
exit;

function TraitementAnormal($msg)
{	// redéclaration des données globales utilisées dans la fonction
	global $doc;
	// crée l'élément 'data' à la racine du document XML
	$elt_data = $doc->createElement('data');
	$doc->appendChild($elt_data);
	// place l'élément 'reponse' juste après l'élément 'data'
	$elt_reponse = $doc->createElement('reponse', $msg);
	$elt_data->appendChild($elt_reponse);
	return;
}

function TraitementNormal()
{	// redéclaration des données globales utilisées dans la fonction
	global $doc;
	global $nom, $mdp, $numReserv, $jdd;
	global $ADR_MAIL_EMETTEUR;
	
	
	// crée l'élément 'data' à la racine du document XML
	$elt_data = $doc->createElement('data');
	$doc->appendChild($elt_data);
	
	// récupère la liste des réservations à venir de l'utilisateur
	$jdd = annulerReservation($numReserv);
	
	$adresseDestinataire = emailUtilisateur($nom);
	
	$sujet = "Suppresion réservation";
	$message = "Votre réservation a été annuler.";
	
	envoyerMail($adresseDestinataire, $sujet, $message, $ADR_MAIL_EMETTEUR);
	
	// place l'élément 'reponse' juste après l'élément 'data'
	$elt_reponse = $doc->createElement('reponse', "Enregistrement effectué ; vous allez reçevoir un e-mail de confirmation");
	$elt_data->appendChild($elt_reponse);
	
	return;
}
// fin du php
?>
